Generally, an authentication system is used to verify the identity of a user before granting access to an access-controlled resource. The goal of such a system is to accurately determine the identity of a user such that an unauthorized user cannot gain access to the resource. It will be appreciated that the system can use several factors alone or in combination to authenticate a user for enabling access to the controlled resource. For example, the system can authenticate the user by using something the user knows, such as a code word, password, personal identification number (“PIN”) and the like. In a typical implementation, the user communicates a username and a password to an authentication server which typically possesses such information for each authorized user. It will be understood that a user will be successfully authenticated subject to the server receiving the correct password for the authorized user.
It will also be understood that the system can authenticate the user by using something the user possesses, such as a hardware authenticator (sometimes called a token) and an authentication server which work together to grant a token holder with login access using one-time use passwords (OTPs). Such OTPs are often referred to as OTP codes, one-time passcodes, and pseudo-random numbers, among other terms. To this end, both the token and the authentication server share a cryptographic key which is not otherwise known. The token uses this key to produce a series of OTPs. Concurrently, the authentication server carries out the same operations on its end to produce the same series of OTPs. Accordingly, at any time, the token holder is capable of providing a matching OTP from the token to the authentication server to prove that the token holder possesses the token.
It will also be understood that the system can authenticate the user by using something the user is, such as a distinct characteristic or attribute known as a biometric. It will be known by those skilled in the art that a biometric is a physical or behavioral characteristic or attribute that can be used to identify or distinguish one person from another person with a certain amount of confidence. For example, the system can analyze images of human faces. When the system receives a first image of a human face, the system measures the sizes, shapes, and/or positions of the subject's eyes, nose, mouth, and cheeks, among other features. The system then saves these face geometry measurements for later matching. When the system receives a second image of a human face in the future, the system can perform this measurement operation again. That is, in the same manner as for the first image, the system can measure the sizes, shapes, and/or positions of eyes, nose, mouth, and cheeks of the subject's face, etc. in the second image. The system can then match these face geometry measurements taken from the second image against the saved face geometry measurements taken from the first image. If the system determines that the face geometry measurements match within a predefined threshold of certainty, the system outputs a result indicating that the subject in the second image is the same as the subject in the first image. However, if the system determines that the face geometry measurements do not match within the predefined threshold of certainty, the system outputs a result indicating that the subject in the second image is not the same as the subject in the first image. Such results may be used to manage access to a protected or controlled resource such as a room, or an account on a computer.
Unfortunately, there are deficiencies in the above-described conventional systems. For example, the above-described conventional facial recognition system is highly susceptible to replay attacks. Suppose that a legitimate user utilizes such a system to control access to an account on a computer. That is, to login to the computer, the user allows the computer to capture an image of the user's face (e.g., via a webcam), measure the user's facial parameters, and match these measurements to previous face geometry measurements.
In such a situation, it is easy for a perpetrator to simply present a previously-obtained photograph of the user's face to the computer. In response, the computer would capture an image of the user's face from the photograph, measure the user's facial parameters from that image, and match these face geometry measurements to previous face geometry measurements. Accordingly, the computer would allow the perpetrator to login to the user's computer account. There is, therefore, a need for stronger forms of authentication.